package com.jt.config;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.util.Date;
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
    /*
        当数据库做新增操作时,自动调用
        metaObject对象 是MP自动填充的配置 有默认行为
        自动填充实现:能否实现user.setStatus(true); 不正确的
            原因:将公共的部分进行封装(created/updated) status 是业务数据
     */
    @Override
    public void insertFill(MetaObject metaObject) {
        Date date=new Date();
        this.setFieldValByName("created", date, metaObject);
        this.setFieldValByName("updated", date, metaObject);
    }
    /*
        当数据库做修改操作时,自动调用
     */
    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("updated", new Date(), metaObject);
    }
}
